/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.common.electricsent.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 描述: 文书发送记录 document_send_record 对应的实体类.<br>
 * WARNING：不是表中字段的属性必须加@Transient注解
 * @author framework generator
 * @date 2022年02月18日
 */
@Data
@Table(name = "upcase.document_send_record")
public class DocumentSendRecord implements Serializable {
    /**
     * 主键id
     */
    @Id
    @Column(name = "id")
    private String id;

    /**
     * 案件id
     */
    @Column(name = "case_id")
    private String caseId;

    /**
     * 文书id
     */
    @Column(name = "document_id")
    private String documentId;

    /**
     * 送达方式
     */
    @Column(name = "sent_way")
    private String sentWay;

    /**
     * 发送时间
     */
    @Column(name = "send_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime sendTime;

    /**
     * 发送人id
     */
    @Column(name = "sender_id")
    private String senderId;

    /**
     * 发送人真实姓名
     */
    @Column(name = "sender_real_name")
    private String senderRealName;

    /**
     * 发送人联系号码
     */
    @Column(name = "sender_contact_num")
    private String senderContactNum;

    /**
     * 发送状态
     */
    @Column(name = "send_status")
    private String sendStatus;

    /**
     * 发送内容
     */
    @Column(name = "send_content")
    private String sendContent;

    /**
     * 发送内容额外信息（json）
     */
    @Column(name = "send_content_extra_info")
    private String sendContentExtraInfo;

    /**
     * 收件人账号/地址
     */
    @Column(name = "receiver_account")
    private String receiverAccount;

    /**
     * 收件人类型
     */
    @Column(name = "receiver_type")
    private String receiverType;

    /**
     * 收件人名称
     */
    @Column(name = "receiver_name")
    private String receiverName;

    /**
     * 收件人身份证号码
     */
    @Column(name = "receiver_id_card")
    private String receiverIdCard;

    /**
     * 收件人联系号码
     */
    @Column(name = "receiver_contact_num")
    private String receiverContactNum;

    /**
     * 关联企业统一社会信用代码
     */
    @Column(name = "uniscid")
    private String uniscid;

    /**
     * 主体名称
     */
    @Column(name = "ent_name")
    private String entName;


    /**
     * 送达耗时
     */
    @Column(name = "sent_time_consuming")
    private String sentTimeConsuming;

    /**
     * 送达时间
     */
    @Column(name = "sent_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime sentTime;


    /**
     * 查看时间
     */
    @Column(name = "read_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime readTime;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 最新更新时间
     */
    @Column(name = "update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 是否删除(0-否/1-是)
     */
    @Column(name = "is_delete")
    private String isDelete;

    /**
     * 发送失败原因
     */
    @Column(name = "send_fail_reason")
    private String sendFailReason;

    /**
     * 送达地址定位信息
     */
    @Column(name = "sent_address_location_info")
    private String sentAddressLocationInfo;
    /**
     * 收件人与受送达人关系
     */
    @Column(name = "receiver_relation")
    private String receiverRelation;

    /**
     * 见证人姓名
     */
    @Column(name = "witness")
    private String witness;
    /**
     * 见证人手机
     */
    @Column(name = "witness_phone")
    private String witnessPhone;
    /**
     * 见证人身份证
     */
    @Column(name = "witness_id_card")
    private String witnessIdCard;

    /**
     * 见证人及其单位或住址
     */
    @Column(name = "witness_address")
    private String witnessAddress;

    /**
     * 现场送达方式（1-原件签收/2-送达回证）
     */
    @Column(name = "real_place_sent_type")
    private String realPlaceSentType;

    /**
     * 现场送达状态（0-待确认/1-已确认）
     */
    @Column(name = "real_place_sent_status")
    private String realPlaceSentStatus;

    /**
     * 当事人id
     */
    @Column(name = "party_id")
    private String partyId;

    /**
     * 备注
     */
    @Column(name = "remark")
    private String remark;

    /**
     * 是否为送达登记（0-否/1-是）
     */
    @Column(name = "is_sent_register")
    private String isSentRegister;

    /**
     * 数据来源(数据字典-ApiVisitDataSourceEnum)
     */
    @Column(name = "data_source")
    private String dataSource;

    private static final long serialVersionUID = 1L;

}
